package Server;


import DTO.*;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JasperPrint;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Mr
 */
public interface QLKS_Interface extends Remote{
    public boolean KiemTraTonTai(String cmd, String ma) throws RemoteException;
    
    public DefaultTableModel LoadTableModel(String tableName)throws RemoteException;
    public DefaultTableModel LoadTableModel(String tableName, String condition)throws RemoteException;
    public DefaultTableModel LoadTableModel(String tableName, Float tu, Float den)throws RemoteException;
    public DefaultTableModel LoadTableModel(String tableName, String dk1, String dk2)throws RemoteException;
    
    public ArrayList<LoaiPhong_DTO> LoadDSMaLoaiPhong() throws RemoteException;
    public ArrayList<LoaiPhong_DTO> LoadDSTenLoaiPhong() throws RemoteException;
    public ArrayList<PhieuDatPhong_DTO> layDSMaPhieuDatQuaHan(String today) throws RemoteException;
    public ArrayList<Phong_DTO> LayDSPhongDaDat(String maPhieuDat) throws RemoteException;
    public ArrayList<KhachHang_DTO> LayDSKhachDangThue() throws RemoteException;
    public ArrayList<CTPhieuThuePhong_DTO> LayDSPhongThue(String maKhach) throws RemoteException;
    
    public String LayTen(String cmd, String ma) throws RemoteException;
    public String LayMaMax(String cmd) throws RemoteException;
    public String LayMaPhieu(String cmd, String condition) throws RemoteException;
    public String LayMaDoanhThu(String maPhong, String condition) throws RemoteException;
    public String LayMaLoaiPhongTheoMaPhong(String maPhong) throws RemoteException;
    public Float LayDoanhThuTheoThangVaLoaiPhong(String thang, String maLoaiPhong) throws RemoteException;
    public String LayTenKHTheoMa(String maKhach) throws RemoteException;
    public String LaySoDTTheoMa(String maKhach) throws RemoteException;
    
    public Float LayTriGiaTheoMaKhach(String cmd, String maKhach) throws RemoteException;
    
    public void CapNhatTinhTrangPhong(String maPhong, String tinhTrang) throws RemoteException;
    public void CapNhatTinhTrangKhach(String maKhach, String tinhTrang) throws RemoteException;
    
    public JasperPrint ShowPhieuThuePhong (String maKhach ) throws RemoteException;
    public JasperPrint ShowHoaDon (String maKhach ) throws RemoteException;
    public JasperPrint ShowBaoCao (String thang ) throws RemoteException;
    public JasperPrint ShowPhieuDatTiec (String ma ) throws RemoteException;
    
    public void InsertKhachHang(KhachHang_DTO kh)throws RemoteException;
    
    public void InsertPhieuDatPhong(PhieuDatPhong_DTO pdp)throws RemoteException;
    public void DeletePhieuDatPhong(String ma) throws RemoteException;
    
    public void InsertCTPhieuDatPhong(CTPhieuDatPhong_DTO ctpdp)throws RemoteException;
    public void DeleteCTPhieuDatPhong(String ma) throws RemoteException;
    
    public void InsertLoaiPhong(LoaiPhong_DTO lp) throws RemoteException;
    public void DeleteLoaiPhong(String ma) throws RemoteException;
    public void UpdateLoaiPhong(LoaiPhong_DTO lp) throws RemoteException;
    
    public void InsertPhieuThuePhong(PhieuThuePhong_DTO pt) throws RemoteException;
    public void DeletePhieuThuePhong(String ma) throws RemoteException;
    public void UpdatePhieuThuePhong(PhieuThuePhong_DTO pt) throws RemoteException;
    
    public void InsertCTPhieuThuePhong(CTPhieuThuePhong_DTO ctpt) throws RemoteException;
    public void DeleteCTPhieuThuePhong(String ma) throws RemoteException;
    public void UpdateCTPhieuThuePhong(CTPhieuThuePhong_DTO ctpt) throws RemoteException;
    
    public void InsertDTTheoLoaiPhong(DoanhThuTheoLoaiPhong_DTO dttlp) throws RemoteException;
    public void DeleteDTTheoLoaiPhong(String ma) throws RemoteException;
    public void UpdateDTTheoLoaiPhong(DoanhThuTheoLoaiPhong_DTO dttlp) throws RemoteException;
    public void UpdateDoanhThu(String doanhThu, String maDoanhThu) throws RemoteException;
    
    public void InsertHuHai(PhieuHuHai_DTO phh) throws RemoteException;
    public void DeleteHuHai(String ma) throws RemoteException;
    public void UpdateHuHai(PhieuHuHai_DTO phh) throws RemoteException;
    
    public void InsertHoaDon (HoaDon_DTO hd) throws RemoteException;
    public void DeleteHoaDon(String ma) throws RemoteException;
    public void UpdateHoaDon(HoaDon_DTO hd) throws RemoteException;
    
    public void InsertDichVu (DichVu_DTO dv) throws RemoteException;
    public void DeleteDichVu(String ma) throws RemoteException;
    public void UpdateDichVu(DichVu_DTO dv) throws RemoteException;
    
    public void InsertPhieuDichVu (PhieuDichVu_DTO pdv) throws RemoteException;
    public void DeletePhieuDichVu(String ma) throws RemoteException;
    public void UpdatePhieuDichVu(PhieuDichVu_DTO pdv) throws RemoteException;
    
    public void InsertCTPhieuDichVu (CTPhieuDichVu_DTO pctdv) throws RemoteException;
    public void DeleteCTPhieuDichVu(String ma) throws RemoteException;
    public void UpdateCTPhieuDichVu(CTPhieuDichVu_DTO pctdv) throws RemoteException;
    
    public void InsertMonAn (MonAn_DTO ma) throws RemoteException;
    public void DeleteMonAn(String ma) throws RemoteException;
    public void UpdateMonAn(MonAn_DTO ma) throws RemoteException;
    
    public void InsertPhieuDatTiec (PhieuDatTiec_DTO pdt) throws RemoteException;
    public void DeletePhieuDatTiec(String ma) throws RemoteException;
    public void UpdatePhieuDatTiec(PhieuDatTiec_DTO pdt) throws RemoteException;
    
    public void InsertCTPhieuDatTiec (CTPhieuDatTiec_DTO pctdt) throws RemoteException;
    public void DeleteCTPhieuDatTiec(String ma) throws RemoteException;
    public void UpdateCTPhieuDatTiec(CTPhieuDatTiec_DTO pctdt) throws RemoteException;
    
}

